package internet_project.View;


import internet_project.Client_Service.Service;
import internet_project.Utility.Utility;

public class view {
  // 持有 这个 通信功能  服务
  private Service service = new Service();

  private boolean loop = true;//控制
  private String key;//键盘输入的值

  public static void main(String[] args) {
    new view().Menu();
  }

  public void Menu() {
    while (loop) {
      System.out.println("-------------欢迎来到网络通信系统----------");
      System.out.println("\t\t\t\t1:登录系统");
      System.out.println("\t\t\t\t9:退出");
      System.out.print("请输入选择:");
      key = Utility.readString(16);
      switch (key) {
        case "1":
          System.out.print("用户:");
          String user = Utility.readString(16);
          System.out.print("密码:");
          String password = Utility.readString(16);
          if (service.Check_Longin(user, password)) {// 验证是否合法用户
            while (loop) {
              System.out.println("-------------网络通信系统(二级菜单)----------");
              System.out.println("当前用户:(--" + user + "--)");
              System.out.println("\t\t\t\t1:显示在线用户列表");
              System.out.println("\t\t\t\t2:群发信息");
              System.out.println("\t\t\t\t3:私聊信息");
              System.out.println("\t\t\t\t4:发送文件");
              System.out.println("\t\t\t\t9:退出");
              System.out.print("请输入选择:");
              key = Utility.readString(1);
              switch (key) {
                case "1":

                  service.get_userlist(); // 会向服务端发送 需要 用户列表 的 message

                  break;
                case "2":
                  System.out.print("发送信息:");
                  String contentS = Utility.readString(20);
                  service.send_All_person(contentS);
                  break;
                case "3":
                  System.out.print("你想发送给谁(用户名):");
                  String username = Utility.readString(16);
                  System.out.print("发送信息:");
                  String content = Utility.readString(255);
                  service.chat(username, content);
                  break;
                case "4":
                  System.out.print("你想发送给谁(用户名):");
                  username = Utility.readString(255);
                  System.out.print("要发送的文件路径(盘符://XX.jpg):");
                  String path = Utility.readString(255);
                  service.File_send(path,username);

                  break;
                case "9":
                  // 无异常 退出 发消息 给 服务 器，把 自己 拿 掉 ，
                  // 接着 结束 自己 这边 的进程
                  // 进程 结束 意味着 所有 的 线程 将 强制 销毁
                  service.EXIT();
                  // 进程 结束 意味着 所有 的 线程 将 强制 销毁
                  System.out.println("程序已退出");
                  System.exit(0);
                  break;
              }
            }
          } else {
            System.out.println("登录失败");
          }
          break;
        case "9":
          loop = false;
          System.out.println("你已退出网络通信客户端");
          break;
      }

    }
  }


}
